package dbopt

import "fmt"

// DSN 连接数据库路由参数
type DSN struct {
	Username string
	Password string
	URL      string
	Port     string
	DBName   string
	SkipTran bool
	PreStmt  bool
	LogLevel int
}

// MySQL 生成MySQL的dsn
func (d DSN) MySQL() string {
	return fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=utf8mb4&parseTime=True&loc=Local",
		d.Username, d.Password, d.URL, d.Port, d.DBName)
}

// Postgres 生成Postgres的dsn
func (d DSN) Postgres() string {
	return fmt.Sprintf("postgres://%s:%s@%s:%s/%s?sslmode=disable",
		d.Username, d.Password, d.URL, d.Port, d.DBName)
}
